/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Modelo.DAL;

import Modelo.ComunidadUniversitaria;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import org.json.JSONObject;

/**
 *
 * @author miguel474
 */
public class ComunidadUniversitaria_DAO {

    public static boolean insertarComunidadUniversitaria(ComunidadUniversitaria cu) {
        ConexionBD conexion = new ConexionBD();
        Statement s = null;

        try {
            s = conexion.session.createStatement();
        } catch (SQLException se) {
            System.out.println("Error Insertando Com. Universitaria");
            return false;
        }
        String insert = "INSERT INTO comunidad_universitaria(ci,nombre_1";
        String values = ")VALUES ('"
                + cu.getCi()
                + "','" + cu.getNombre1() + "'";
        if ((cu.getNombre2() != null) && (!(cu.getNombre2().equals("")))) {
            insert += ",nombre_2";
            values += ",'" + cu.getNombre2() + "'";
        }
        insert = insert + ",apellido_1";
        values += ",'" + cu.getApellido1() + "'";
        if ((cu.getApellido2() != null) && (!(cu.getApellido2().equals("")))) {
            insert += ",apellido_2";
            values += ",'" + cu.getApellido2() + "'";
        }
        if ((cu.getTelefono() != 0)) {
            insert += ",telefono";
            values += "," + cu.getTelefono();
        }
        if ((cu.getEmail() != null) && (!(cu.getEmail().equals("")))) {
            insert += ",email";
            values += ",'" + cu.getEmail() + "'";
        }
        values += ")";
        String query = insert + values;
        System.out.println("\n\tQuery: " + query + "\n");
        System.out.println(query);
        try {
            s.executeUpdate(query);
            conexion.cerrarConexion();
            return true;
        } catch (SQLException se) {
            System.out.println("Error Insertando Com. Universitaria!");
            conexion.cerrarConexion();
            return false;
        }
    }

    //Revisa si no existe ya ese numero de cedula con otro nombre
    public static boolean checkExistence(String ci) {
        ConexionBD conexion = new ConexionBD();
        PreparedStatement s = null;
        try {
            String query = "SELECT ci FROM comunidad_universitaria WHERE ci = ?";
            s = conexion.session.prepareStatement(query);
            s.setString(1, ci);
            ResultSet rs = s.executeQuery();
            if (!rs.next()) {
                System.out.println("La persona con la CI:" + ci + " no existe en la BD.\n");
                return false;
            } else {
                System.out.println("La persona con la CI:" + ci + " ya existe en la BD.\n");
                return true;
            }
        } catch (SQLException se) {
            System.out.println("Error Revisando si la persona ya existe en la BD!\n");
            return true;
        }
    }

    public static boolean actualizarComunidadUniversitaria(String old_ci, ComunidadUniversitaria cu) {
        ConexionBD conexion = new ConexionBD();
        Statement s = null;

        try {
            s = conexion.session.createStatement();
        } catch (SQLException se) {
            System.out.println("Error Insertando Com. Universitaria");
            return false;
        }
        String query = "update comunidad_universitaria set ci = '" + cu.getCi() + "', nombre_1 = '" + cu.getNombre1() + "',apellido_1='" + cu.getApellido1() + "', telefono =" + cu.getTelefono() + "where ci = '" + old_ci + "'";
        System.out.println("\n\tQuery: " + query + "\n");
        System.out.println(query);
        try {
            s.executeUpdate(query);
            conexion.cerrarConexion();
            return true;
        } catch (SQLException se) {
            System.out.println("Error Insertando Com. Universitaria!");
            conexion.cerrarConexion();
            return false;
        }
    }
}
